How would you perform a shell to DOS in Turbo 3.0?
I am using PC-DOS 3.2, if that helps any. I know
it has something to do with the EXEC command, but
don't know exactly how to use it... thanks.
---
* Origin: Uptown Underground (Opus 1:105/15)
*** There is a reply. See #179.
From: George Butts
To: Jim Jinkins Msg #49, 01-Jan-89 01:39pm
Subject: Re: Turbo very long integers
JJ> >See Fundamentals of Computer Programming, Vol 3: Seminumerical
JJ> Algorithms
JJ> >by D.E. Knuth. The algorithms are described in pseudo-code, flow
JJ> charts,
JJ> >and in a simulated assembler language. \Jim\:
a MOD b should return a positive value, in the range 0..b-1.
This is t* code controlled by the else *); END;
etc.
back to CASE
CASE thing OF
label1: (* statement controlled by label1 *);
label2: BEGIN
(* compound statement for label2 *)
END;
ELSE
(* default statements - (which are non-standard) *);
END; (* case *)
the point being that the case items are REALLY LABELS to which control is
transferred. The (again non-standard) Turbo extension of allowing range
labels, i.e.:
val1..val2:
doesn't really affect the argument, but leaves the problem of overlapping
cases (which can never happen in STD Pascal) and associated bugs.
---
* Origin: Alice's Restaurant (Opus 1:141/488)
*** Part of a conversation.
From: Charles Falconer
To: Hal Smith Msg #52, 03-Jan-89 12:57pm
Subject: Re: TP4 (quasi) bug
> Don't know about TP4 and TPower's Analyst 5.0, but would
> seem to me that if you took TPUMover and extracted the
> system unit in question, then TINFO's interface and implementation
> would give you the formal parameters as needed.
> I have looked at the TP5 TPU's interface on a commercial
> unit that I've bought, and it *appears* that I can get
> enuff info to surplant it!
Never heard of TINFO - just checked my original disks in case I had missed
something. This is TP4 by the way. All I can see is a list embedded in thesystem.tpu (after extraction) of the original .obj files. I have disassembled
areas of it, to get a decent understanding of the start/end and file system
code, so I could interface properly
(See TXTFILES.ARC which allows ISO std text input semantics, and saves
a ton of effort in porting programs). If you have info on the structure of
TPU files, and/or the system interface, I would appreciate it.
---
* Origin: Alice's Restaurant (Opus 1:141/488)
From: Charles Falconer
To: Chuck Venter Msg #53, 03-Jan-89 12:03pm
Subject: Re: Turbo4 Bug
> > Turbo 4 would be greatly improved if a method existed
> > to replace system procedures. However Borland has not
> > seen fit to publish the System unit interface
>
> I thought that they were selling the runtime library code
> for version 5.0. That does not include the code you want to replace?
I have TP4 here, also TC 2.0, TD, TASM, and the best assembler OPTASM. TP5 may
come later, but for now sticking here (by the way, TD can be used on TP4, via
the MAP interfaces - some features missing). If you have the TP5 interface
specification it would be close enough to enable me to do something. I have
disassemblies (which reassemble) of the key start/exit and file control areas,
which enabled me to make an accurate interface in TXTFILES.ARC (Iso std text
read interface).
The TP5 run time does not come with it, as I understand, but a fairly large
outlay, especially for me at present.
---
* Origin: Alice's Restaurant (Opus 1:141/488)
*** Part of a conversation.
From: Charles Falconer
To: Andreas Golz Msg #54, 03-Jan-89 12:09pm
Subject: Re: Work with ramfields > 64 kb
> In the future i need a connected ramblock with more than
> 64 kb. (ca. 200 Kb)
>
> How did i can solve this problem under TurboPascal 3.0/4.0/5.0.
Bearing in mind your "connected" specification, I suggest you set up your
program to use a MINIMUM of memory, and then use a DOS call for memory (if you
haven't limited program usage DOS will have none to supply). Call the memory
request for a large value, 0ffffh paras, and it will refuse and return the
amount available. Addressing it from within your program is another problem,
although you can create the appropriate pointers.
Without the connected, I would much prefer using a linked (or indexed) list
approach, getting pieces with new. This is much more portable. For example,
you can have
TYPE
arrayelement = ARRAY[1..maxel] OF whatever;
arrayelptr = ^arrayel;
VAR
bigarray = ARRAY[1..maxitems] OF arrayelptr;
and make sure to initialize bigarray to NIL
FOR i := 1 TO maxitems DO bigarry[i] := NIL;
Now you can detect non-allocated areas by checking for NIL,
IF bigarray[index] = NIL THEN new(bigarray[index]);
(* operations as needed *)
---
* Origin: Alice's Restaurant (Opus 1:141/488)
*** Part of a conversation.
From: Charles Falconer
To: Jim Colligan Msg #55, 03-Jan-89 12:18pm
Subject: Re: Turbo Professional packag
At least, between TD, TC2.0, and TASM, the same-named files, even tho dated
differently, are identical. I checked this with FDIFF, so I don't need to
mount more than one copy.
---
* Origin: Alice's Restaurant (Opus 1:141/488)
From: Charles Falconer
To: Sten Schmidt Msg #56, 03-Jan-89 12:20pm
Subject: Re: Memory problems
> HELP
> Since MemAvail and MaxAvail works relative to heap size
> specified by the $M compiler directive, I would like to
> know how to find out how much free memory I've got, not
> only on the heap but "in the machine".
To examine the machines memory, use the DOS call for memory (see MSDOS
reference manuals - not handy right now) and request 0ffffh paras. This will
fail, but the amount available will be returned. With TP4 at least the
available will be zero, unless you have limited the heap and stack sizes on
compilation, because by default TP gobbles all available memory for its heap.
The specification is in the EXE file header, and can be changed (I think one
changer is EXEMOD in the MASM package).
The basic call (in tp4) call be made with the "msdos" procedure. Check the
flags on return, (Turbo stores them as an available variable). Carry means
failure. AX returns the available amount.
---
* Origin: Alice's Restaurant (Opus 1:141/488)
*** There is a reply. See #236.
From: Charles Falconer
To: Sten Schmidt Msg #57, 03-Jan-89 12:26pm
Subject: TP FOR loops
> Recently debugging some code, I found out that "for do"
> loops in TurboPascal are really much slower than repeat
> until and while do. Is there anyone out there who can confirm
> that. Also it seems like vars of the type
> "byte" is converted to integers before being used???
The generated code must be larger, because the FOR must advance the index, and
checks for an empty range on entry. You should also be aware of a TP4 range
checking bug in FOR loops, ex:
CONST
min1 = -10;
max1 = 20;
minfor = 0;
maxfor = 5;
TYPE
forindex = minfor..maxfor;
VAR
i : forindex;
n : integer;
...
n := max1;
...
FOR i := n TO maxfor DO BEGIN (* range error!! *)
(* whatever *) END;
Since the range is null, the FOR should never be executed. Turbo is checking
the limits rather than the i variable. This sort of loop is very useful, and
(should) take advantage of the null loop ability.
On most systems, you will find that in order of speed, the loop controls are:
REPEAT; WHILE; FOR; WHILE is longer than REPEAT because it ends with a JMP to
the initial condition checking code, while REPEAT puts the checking code at
the end, (JZ label or such) and just falls thru at the appropriate time.
---
* Origin: Alice's Restaurant (Opus 1:141/488)
From: David Vins
To: Robert Wilton Msg #58, 04-Jan-88 02:12pm
Subject: Re: I made it!
Good!! Great, I shall send you E-MAIL, were costing the sysops money by
putting our messages in the echo!!!
--- QuickBBS v2.03
* Origin: The Outpost │ Nashua NH »HST« (1:132/113)
*** This is a reply to #29.
From: Tim Geisweit
To: Dave Goggin Msg #59, 04-Jan-89 08:47am
Subject: Re: Exit
Don't let people get you down here. Everyone has their own
*idiot-syncrasies*. <grin>
---
* Origin: CrossFire Harrisburg, PA (717)564-9519 (Opus 1:150/514)
From: Tim Geisweit
To: Loyd Craft Msg #60, 04-Jan-89 08:54am
Subject: Re: A Little Problem
> course, I was introduced to Warnier Diagrams.... They
> are Nice in the fact that you do not have all the Boxes/Triangles/Paral
> ellograms/Tums/Rolaids/etc... that Flowcharting mandates.
> They let you be as structured or as casual as you want,
> and when you have one finished, it LOOKS like a pseudo-coded
> pascal program.
>
Hmm. Sounds very interesting to me. I've never heard of them. Where can I find
out more?
---
* Origin: CrossFire Harrisburg, PA (717)564-9519 (Opus 1:150/514)
*** Part of a conversation.
From: Randall Smith
To: George Butts Msg #61, 03-Jan-89 10:28pm
Subject: Re: File Access
DC> You have to register first! I will NOT give you full
GB> access until you
DC> register!
DC> --- TBBS v2.0
DC> * Origin: The Coop - Striving for Exellence (501)273-9257 (7101/6)
GB> I have run The Buffer Board for nearly four years now
GB> and have never required registration or validation. I
GB> Give it some thought folks. We are, after all, running
GB> these boards for the users. Aren't we?
My thoughts on the matter. When young, a saying went "The guy who owns the bat
and ball makes the rules". On the other hand there was a kid with a bat and
ball, but nobody wanted to play with him! We didn't like his rules! If I were
a SYSop, I might require registration, but if I responded, to a file request
message I would add that persons name to my users list and send him a private
netmail with a password he could use as a guest to perform the download.
Later.... Randy.
--- Msg V3.2
* Origin: Point #10 ===> The Mdtn_BBS Point #10 (1:150/511.10)
*** There is a reply. See #240.
From: Randall Smith
To: Chuck Venter Msg #62, 03-Jan-89 10:43pm
Subject: Re: Turbo4 Bug
> Turbo 4 would be greatly improved if a method existed
> to replace system procedures. However Borland has not
> seen fit to publish the System unit interface
This is for TP5: Look in the file SYSTEM.DOC it contains the interface section
for the system unit. Borland doesn't provide the list of procedure/function
calls.
CV> I thought that they were selling the runtime library code
CV> for version 5.0. That does not include the code you want to replace?
Yes, but you don't need the Runtime Library Code to replace standard
procedures/functions. TP4 and TP5 both allow qualification. To replace a
procedure say GotoXY in the CRT unit. Compile a unit with the replacement
called MyCrt that contains the new GotoXY. In use, code a "uses MyCrt;" in the
program. When invoking type "MyCrt.GotoXY();"
Later.... Randy.
--- Msg V3.2
* Origin: Point #10 ===> The Mdtn_BBS Point #10 (1:150/511.10)
*** Part of a conversation.
From: Randall Smith
To: Tim Geisweit Msg #63, 04-Jan-89 12:00am
Subject: Re: A Little Problem
> As to flowcharting, I haven't written one since my BASIC/FORTRAN
> class back in 10th grade. What I do now, if the program
> is very big, is write a bunch of empty procedures that
> will help me visualize the program flow, top-down. For
> instance, a program to print a report of payroll might look
TG> It sure looks like a flowchart to me. Flowcharts don't
TG> have to be boxes and lines and arrows. Actually, I have to
TG> apologize for my last message since it probably was too
TG> nasty. My original intent was to say that distinguishing
I couldn't let this one go by! Someone asked me what I did for a living, and I
said "I try to get people to tell me what they want!" Its harder than you
think. My personal favorite flowchart is a Warnier/Orr diagram. This is a
type of decision tree.
Later.... Randy.
--- Msg V3.2
* Origin: Point #10 ===> The Mdtn_BBS Point #10 (1:150/511.10)
*** Part of a conversation.
From: Randall Smith
To: Bruno Rijsman Msg #64, 04-Jan-89 03:39pm
Subject: Re: >16 Files
BR> Does anyone know how to have more than 16 files open at the same time ?
Yes; but it isn't easy to do.
BR> Johan zwiekhorst suggested that the problem is with DOS and not with
BR> pascal; according to him no single process can have more than 20 files
Right on target!
BR> open at any instant (which makes me wonder what the FILES command was
BR> invented for in the first place). He suggest that keep track of my own
BR> "DCB Tables" (Frankly I have no idea what a DCB is, even after carefully
BR> searching Advanced MS DOS from micro soft press).
DCB Tables are one of those "undocumented functions" Microsoft is so fond of!
Info here is excerpted from things I read on the C-ECHO AND MAY *NOT* BE
CORRECT. Please research carefully if you want to use this technique.
Everytime a file-handle is opened, MS-DOS keeps track of the file info in a
table that has space for 20 entries. This table size is in the program's PSP
(program segment prefix). The table area is found in a pointer (I rummaged
but didn't find the specifics) in the PSP also. IT IS POSSIBLE (but
dangerous) to change this pointer and allocate a larger area to this. MAKE
SURE YOU RESTORE THE TABLE before terminating your program. You may want to
repeat this question in the C ECHO.
BR> If anyone has any experience with this solution, or if anyone has a
BR> simpler solution,
There isn't a simple(r) solution. Hope this helps point (pun intended) you in
the right direction.
Does anyone out there know the specifics of this thing??? NOW IS YOUR TIME
TO SHINE!!!
Later.... Randy.
--- Msg V3.2
* Origin: The Knot in the End of the Thread. (1:150/511.10)
*** Part of a conversation.
From: Randall Smith
To: Russ Panula Msg #65, 04-Jan-89 04:11pm
Subject: Windows
RP> What's the best window making type package out?
RP> Preferably public domain or shareware or whatever. I'm
RP> look for one that'll let me draw boxes around it, draw
RP> around 10-15 windows on the screen at once, etc.
RP>
RP> Need the full source too.. I don't like the TPU units, I
RP> can't understand what's going on then.
Russ; Look at QWIK/WNDW by Jim LeMay. This has every windowing capability
you can think of and some you couldn't imagine! Windows:
irtual;moveable,hidden;sized. Lightning fast. Small size. I could go on, but
try it. You get full source when you register, about $40? BUT much some? of it
is in assembler for speed. This MAY not be the best but I don't want to pay
$495 for this. I have no commercial interest in QWIK/WNDW just a satisfied
user.
Later.... Randy.
--- Msg V3.2
* Origin: The Knot in the End of the Thread. (1:150/511.10)
From: Eric Givler
To: Roland Brown Msg #66, 04-Jan-89 04:41pm
Subject: Re: Tp?
Thanks for suggestion.
ERIC
--- ConfMail V4.00
* Origin: Megaboard ]I[ (717)561-8150 Hayes 9600v (1:150/513)
*** This is a reply to #39.
From: Walt Fair
To: Brian Corll Msg #67, 04-Jan-89 09:15pm
Subject: Re: version 4 & 5
BC> Turbo Pascal versions 4 and 5 produce compact .exe files, which are
BC> usually significantly smaller than the .exe files produced by Turbo C
BC> for similar code.
BC>
No joke!! Have you compared the exe's for Borlands MicroCalc from both
the C and Pascal sourses? I took a look at both and they are about as
identical algoithms as possible, but the C EXE is about 3 times as large as
the Pascal version.
Anyone know why? I'd be interested in finding out.
Walt
--- msged 1.943S ZTC
* Origin: The ComPort - Slidell, La - 504/643-6380 (fidonet 1:390/1)
*** Part of a conversation.
From: Kurt Grutzmacher
To: Andy Lester Msg #68, 02-Jan-89 08:51pm
Subject: Re: absolute addresses...
KG> Well, It wasn't DSEG, it was PTR... I just put in
KG> SYSTEM.PTR( foobars ); and it worked great. I forgot that you
KG> could specify which unit to look into for code ... now, to
KG> hack some more at it.... yippie...
AL> Hooray! Another problem we can quit talking about! :-)
Yea, it feels good to have one problem over with... ....
now, for the NEXT problem..... <smirk> naaah
KG> * Origin: Pascal, hmm, is that some sort of breakfast drink?
AL> Great origin line! I love it.
Thanks. It's great what ConfMail will let ya do! Hehehe, and being a sysop
helps too..... |_)
--- Msg V3.2
* Origin: A Pascal Echo - oh great, a clone program! (1:124/3224)
*** There is a reply. See #191.
From: dj murdoch
To: Alex Ten.broeke Msg #69, 31-Dec-88 07:04pm
Subject: Turbo very long integers
> I'm working with TP4.0. I need the possibility to work with significant
> very large integers. At least 200 digits must be significant.
> Can anybody tell if p.d. routines exist or how to programm this 'type'
> in Turbo Pascal without the need for an 80x87?
You'd be best off (in terms of speed of execution, at least) to write your own
in assembler. Take a look at the ADD/ADC, SUB/SBB instructions - they are
designed to make arithmetic with arbitrarily high precision straightforward.
(I'm not sure if you'll find it as easy to multiply and divide, but you can't
have everything :-)
--- ConfMail V3.31
* Origin: Murdoch's_Point - - (1:221/162.1005)
*** Part of a conversation.
From: dj murdoch
To: Andreas Golz Msg #70, 31-Dec-88 08:11pm
Subject: Disk-sectorproblem
> I need a procedure, which returns the absolute sectornumber of a file or
> a directory. I call the procedure with the string C:\BINKLEY\OUTBOUND.
> Than the procedure must return the sector, where the directory OUTBOUND
> on the disk C: can be found. The other time i call the procedure with
> the
> string C:\COMMAND.COM , than the procedure must return the sector, where
> the program COMMAND.COM begins.
>
> Regards Andreas.
>
> PS. I need also informations about the file and directory organisation
> of a harddisk.
No documented DOS service (that I know of) will tell you the physical location
of a file or directory. You have to figure it out yourself.
It's a fairly involved process, as I recall: look in the boot record to
figure out how big clusters are and where the root directory is, then trace
the path to your file by looking at the root directory and each subdirectory
in the path. Each directory entry will tell you the cluster number of the
first cluster in the directory; if you need to find more clusters, you'll also
have to decode the FAT to trace through the allocation chain.
I'm sure there are easier (undocumented) ways to do this: presumably the
reserved areas in file records contain this sort of information.
The Norton Programmer's Guide gives adequate information on this sort of
stuff, though the edition I have (copyright 1985) makes a lot of mistakes when
it talks about hard disks. The current one should be better. (One would
hope!). s
--- ConfMail V3.31
* Origin: Murdoch's_Point - - (1:221/162.1005)
From: dj murdoch
To: Paul Allen Msg #71, 02-Jan-89 09:42pm
Subject: Re: STYLE DEBATE #9,005
> > hello. which of the following forms for the CASE statement
> > do you prefer?
...
> Neither! I always do it like this:
>
> Case .... Of
> ...... : .....;
> ...... : .....;
> End {case};
Me too! And for debate number 9,006, where do Begin and End belong? I use
if ... then
begin
...
end;
but no one else seems to. (I like to be able to line up the begin and end in
the same column to make finding missing ones easier, and the end should be in
the same column as the if to mark the block clearly.)
--- ConfMail V3.31
* Origin: Murdoch's_Point - - (1:221/162.1005)
*** Part of a conversation.
From: dj murdoch
To: Eric Givler Msg #72, 02-Jan-89 09:47pm
Subject: Word/LongInt
> I've seen these used in several programs and was wondering . . .
> are these supported in 3.0? I'm working/learning it and have not
> found them in any books. I've seen String, Real, Integer, Byte, Char,
> and then records and stuff. Are these new 'types'?
Yes, TP3 doesn't know about them. Words are unsigned 16 bit integers (i.e.
0..65535), longints are signed 32 bit integers (-great big..+great big-1).
There are also shortints (signed bytes -128..127) and a bunch (i.e. single,
extended, comp) of new 8087 types that TP3 never heard of.
Yet another reason to upgrade...
--- ConfMail V3.31
* Origin: Murdoch's_Point - - (1:221/162.1005)
*** Part of a conversation.
From: dj murdoch
To: Ron Dexter Msg #73, 02-Jan-89 09:54pm
Subject: version 4 & 5
> In version 4 & 5 of Turbo Pascal, when you save the file
> in executable form, is it in .COM or .EXE???
They're EXEs.
> And do both versions support 'use as needed' object libraries
> in the executable forms?? I mean does it not save the entire
> object library.
Yes, both compile to a Borland designed library called a TPU if you want. Only
the required routines get copied to the EXE. (Version 4 TPUs are not
compatible with version 5 ones, and there is no known way to convert them.
Don't spend a lot of time or money on someone else's TPUs unless you get
source code.
Neither one supports LIB files, but both can link OBJ files if you're very
careful.
--- ConfMail V3.31
* Origin: Murdoch's_Point - - (1:221/162.1005)
*** Part of a conversation.
From: dj murdoch
To: Andreas Golz Msg #74, 02-Jan-89 10:09pm
Subject: Work with ramfields > 64 kb
> In the future i need a connected ramblock with more than 64 kb. (ca. 200
> Kb)
>
> How did i can solve this problem under TurboPascal 3.0/4.0/5.0.
>
> I try to solve the problem with the TurboPascal procedure GETMEM, but
> i recognize that the procedure can only organize fields less/equal 64kb.
If your memory is unfragmented, I believe getmem (in 4 and 5 at least) is
guaranteed to allocate successive blocks contiguously. Thus you could just
use:
getmem(part1,50000);
getmem(part2,50000);
etc.,
and "part1" would end up pointing to the beginning of a large block of memory.
You should check the technical discussion about the heap manager in the
reference manual for the details I've forgotten.
--- ConfMail V3.31
* Origin: Murdoch's_Point - - (1:221/162.1005)
*** Part of a conversation.
From: Jeff Rosen
To: Thomas Groff Msg #75, 03-Jan-89 09:21pm
Subject: Re: Cursor Curses
TG> People I have a couple of questions that have been bothering me
for some time now.
TG> 1. just what is a cursor and where does the little booger reside?
TG> 2. does each video page have its own cursor (when I change pages
some very strange things happen on different monitors.)?
TG> 3. how far off the screen can you move a cursor?
TG> 4. bit change = scanline change in cursor shape?
TG> 5. I have written 5 different cursor toggle routines and none
of them work in all cases. is there one method that is a
cureall?
TG> 6. Is it necessary to check for a specific type of card and monitor
before making a successful cursor routine?
TG> 7. Have I missed anything?
The cursor for text pages has a 2-byte (word) definition which is
used by the BIOS. BIOS interrupt services $10 provides two sevices
for setting(AH:=1) and ascertaining(AH:=3) the cursor attributes.
Executing interrupt $10 (service 1 or 3) will use/return the
cursor setting in register CX as follows:
- 15
| 14
| 13 --- 0 = On, 1 = Off
C 12
H 11 --- Top scan line
| 10 | 0..13 Mono, 0..7 CGA
| 9 | 0..7 (I think) for EGA
- 8 ---
- 7
| 6
| 5
C 4
L 3 --- Bottom scan line
| 2 | 0..13 Mono, 0..7 CGA
| 1 | 0..7 (I think) for EGA
- 0 ---
For some reason the scan lines are numbered from top (0) to
bottom (7/13). Strange things happen when the top scan line is
set larger than bottom or either is out of their allowed range.
I believe there is only one cursor definition (at least the
above services provide no means of specifying a text page),
while each text page can have its own cursor location.
This may explain question 2.
Hope this helped some. If anyone can set me straight on legal
values for EGA and EGA 50 line I would appreciate it (I only
have Mono now).
Jeff
--- ConfMail V4.00
* Origin: Fort Worth Opus [817 246-0959] (1:130/8)
From: Lou Garner
To: Anne Wilson Msg #76, 04-Jan-89 07:09pm
Subject: Re: Copyright
>>Can someone please give me some information on how to get a
copyright
>>............. (1) How do you obtain a registered copyright?
>> (2) Is the copyright still valid for subsequent updated
>> versions of the program?
Write or call the U.S. Copyright Office, Washington, D.C., 20559, and
ask
for a copy of Circular 1, "General INformation on Copyrights." It's
free, and they will send you other materials for free as well.
General rule is that you have the burden of proving something is
yours.
That means documentation of some kind. Best is to copyright your
stuff. Costs $6, lasts 25+ years, and only requires filing one piece
of paper with that office.
Updates are covered, but generally you will find that people will
re-file
on major revisions.
Getting a copyright establishes your legal ownership to something, but
does NOTHING to fight people who infringe. Even if you have the copy-
right, you would have to file a lawsuit against someone imitating your
product. You would be in a good legal position with the copyright,
but
that is all it does.
--- Via OpXpress V1.03ß Don't you MESS with Texas, son....!!
* Origin: David's Place - **HST** (1:124/215)
*** Part of a conversation.
From: Lou Garner
To: Dave Goggin Msg #77, 04-Jan-89 07:34pm
Subject: 300 BAUD
>>reading the log-on text, I was rudely told 'you can''t log on at
300
>>baud, and was disconnected. I''d like to ask you (and while this
is
>>off-topic) if you could find out why that is, beacause it cuts
out a
>>large number of possible users. Thanks.
Are you sure? 300 baud modems belong in a museum, not on-line. Also,
ALLOWING 300 baud access DOES cut out a large number of users, but the
ones cut out are the OTHER callers who have to wait behind someone
slogging along at 300 baud. With 1200 baud modems selling for as
little
as $40 now, the person who stays at 300 BAUD and takes four times (or
more) as long as a 1200 BAUD user on public boards is the real
drawback.
--- Via OpXpress V1.03ß Don't you MESS with Texas, son....!!
* Origin: David's Place - **HST** (1:124/215)
From: Roland Brown
To: Bruno Rijsman Msg #78, 04-Jan-89 07:32pm
Subject: Re: >16 Files
> Does anyone know how to have more than 16 files open at
> the same time ?
> I'm using turbo pascal version 4.0 and the database toolbox.
> $Fnn is
> not implemented anymore in v 4.0, and putting FILES=xx
> in the config.sys
> files doesn't seem to help either.
> Johan zwiekhorst suggested that the problem is with DOS
He's right.
> command was
> invented for in the first place). He suggest that keep
> track of my own
> "DCB Tables" (Frankly I have no idea what a DCB is, even
I assume he means device contro blocks. A kludge but simple way to do the
tracking would be to establish a global variable initialized to a value of 5
(for stdin stdout stdprn stdaux stderr 4 four if you don't count stderr) and
add 1 to it each time you open a file. BEFORE you open the file check to see
if the open will exceed twenty files, if so, close something first.
---
* Origin: Sky Pilot Point Mail Box Off 261/1004 (Opus 1:26102/4)
*** Part of a conversation.
From: Roland Brown
To: Anne Wilson Msg #79, 04-Jan-89 07:36pm
Subject: Re: Copyright
> Can someone please give me some information on how to
> get a copyright on a program? I read the msg that states
> that it is better to have a registered copyright than
> to have to prove you wrote the program originally at a
Contact the U.S. government Office of Copyrights.
> later date with only your own documentation. If this is
> the case: (1) How do you obtain a registered copyright?
> (2) Is the copyright still valid for subsequent
> updated versions of the program?
The Government will send you forms for the registration. I think the fee is
very nominal but I don't remember how much (I've only had one such copyright
application and that was several years ago). I believe that the copyright is
valid for subsequent versions, but you have have to send some notification of
the new version to the copyright office. I THINK that you send a copy of your
source code as well, but again I don't remember.
roland
---
* Origin: Sky Pilot Point Mail Box Off 261/1004 (Opus 1:26102/4)
*** Part of a conversation.
From: Grant Dixon
To: John Gemmill Msg #80, 02-Jan-89 07:18pm
Subject: TURBO PASCAL & PROLOG
JG> I would like to use some prolog in my Pascal program.
JG> Does anyone know if
JG> ...
JG> Any ideas ?
JG>
In Volume one number three of "TURBO TECHNIX" there is an
article about linking Turbo Prolog to Turbo Pascal (Language
Connections pages 134 to 139). Before you get excited I will the
author Peter Immarco, "Before we go to far, we should mention two
restrictions. First, the Turbo Prolog-to-Turbo Pascal bridge is a
one-way connection. You can call a Turbo Pascal procedure from
Turbo Prolog, but you cannot call a Turbo Prolog predicate from
Turbo Pascal."
Although the above quote was about Turbo Pascal 4.0, I can
find nothing in the documentation of Version 5.0 indicating that
it would not hold true for this newer version of Turbo Pascal.
As you may or may not know that "TURBO TECHNIX" was the
Borland official language journal. The cost was $10.00 a single
issue and I believe Borland has some left. The source code that
accompanied this article can be down loaded from Compuserve as
PROPAS.ARC (five listings). Peter Immacaro can be reached
Thought Dynamics, 1142 Manhattan Ave., Suite CP-310, Manhattan
Beach, CA90266, where he is the national sales manager.